package com.guigu.eduservice.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 业务员设备关联表实体类
 * 用于建立业务员与equipment的关联关系，支持权限隔离查询
 */
@Data
@TableName("businessman_equipment")
public class BusinessmanEquipment {

    /**
     * 关联记录唯一标识
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 关联业务员表的businessman_id（负责设备的业务员）
     */
    @TableField("businessman_id")
    private Long businessmanId;

    /**
     * 关联equipment表的equipment_id（业务员负责的设备）
     */
    @TableField("equipment_id")
    private Long equipmentId;

    /**
     * 责任类型（0-设备检测，1-销售跟进，2-售后维护）
     */
    @TableField("responsibility_type")
    private Integer responsibilityType;

    /**
     * 分配时间（将设备分配给业务员的时间）
     */
    @TableField("assign_time")
    private LocalDateTime assignTime;

    /**
     * 关联状态（0-已解除，1-有效；解除后业务员无法查看该设备）
     * 默认值：1（有效）
     */
    @TableField(value = "status", fill = FieldFill.INSERT)
    private Integer status;

    /**
     * 备注（如"重点跟进设备，需本周完成检测"）
     */
    @TableField("remark")
    private String remark;

    /**
     * 记录创建时间
     * 自动填充：插入时获取当前时间
     */
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /**
     * 记录更新时间
     * 自动填充：插入和更新时获取当前时间
     */
    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;

    @TableField(exist = false)
    private Businessman businessman;
}
